package com.epin.business.system.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import com.epin.business.system.entity.Role;
import com.epin.business.system.entity.bo.RoleNormal;

/**
 * <p>
 * Mapper接口
 * </p>
 *
 * @author xj
 * @since 2016-12-20
 */
public interface RoleMapper extends BaseMapper<Role> {
	
	/**
	 * <p>根据条件查找角色列表</p>
	 * 
	 * @param page 分页辅助器
	 * @param params 参数表
	 * <p>
	 * 	参数表可填参数：
	 * 		<p>companyId 限定的公司ID</p>
	 * 		<p>keyword 关键字</p>
	 * </p>
	 * 
	 * @return List<>
	 * 
	 */
	public List<RoleNormal> selectRoleList(Pagination page, Map<String, Object> params);
	
	
	/**
	 * <p>根据公司获取某等级的可选角色</p>
	 * 
	 * @param level 等级
	 * @param companyId 公司ID
	 * 
	 * @return List<>
	 * 
	 */
	public List<RoleNormal> selectRoleListByCompanyId(@Param("level")Integer level, @Param("companyId")String companyId);
	
	
	/**
	 * <p>计算角色记录数</p>
	 * 
	 * @param companyId 公司ID
	 * @param key 角色钥匙
	 * @param id 角色ID
	 * 
	 * @return Integer
	 */
	public Integer countRoles(@Param("companyId")Integer companyId, @Param("id")Integer id, @Param("key")String key);

}